<?php defined('SYSPATH') OR die('No direct access allowed.');

class vacina_Controller extends MyTemplate_Controller {

    public $template = 'templates/template';

    function __construct() {
        parent::__construct();
        $this->template->pageAttr = 'data-add-back-btn = "true"';
    }

    public function index() {
    }

	public function exibirTelaPesquisaLogradouro($msgErro = null) {

		if ( $this->validacao->verificarUsuarioLogado() ) {

			$objClienteSoap = new ClienteSoap_Model();
			$arrParam['codbairro']  = 0;
			$arrBairros = $objClienteSoap->executarWebMetodo('retornarBairro', $arrParam);

			$this->template->body = new View('formFiltroConsulta');
			$this->template->body->arrBairros = $arrBairros;
			$this->template->body->action = 'iptu/pesquisarLogradouros';
			$this->template->body->msgErro = $msgErro;

		} else {
			$this->exibirTelaLogin();
		}

	}

        public function cadastrarVacina() {
            $this->template->titulo .= ' - Cadastrar Vacina'; 
            $this->template->body = new View('formCadastrarVacina');
            $this->template->body->action = 'vacina/cadastrar';
//            $this->destacarCadastrarVacina();
        }
        
        public function pesquisarPorVacina() {
            $this->template->titulo .= ' - Pesquisar Vacinas';
            $this->template->body = new View('formPesquisaVacina');
            $this->template->body->action = 'vacina/pesquisar';
//            $this->destacarPesquisarVacina();
        }
        
        public function pesquisar(){
            
            $modelVacina = new vacina_Model();
            $arrConsulta = $modelVacina->getVacinas($this->input->get());
            $arrVacinas = LibAux::constroiArrayVacinas($arrConsulta);
            $this->template->body = new View('gridPesquisaPorVacina');
            $this->template->body->arrConsulta = $arrConsulta;
        }
        
        public function cadastrar(){
            $modelVacina = new vacina_Model();
        }
        
	public function pesquisarLogradouros() {

		if ( $this->validacao->verificarUsuarioLogado() ) {

			$logradouro = $this->input->post('txtLogradouro');
			$codBairro  = $this->input->post('cobBairro');

			$arrParam['logradouro'] = $logradouro;
			$arrParam['codbairro']  = $codBairro;

			if ( $logradouro == '' and $codBairro == 0 ) {

				$msgErro = 'Favor preencher um dos campos.';
				url::redirect('iptu/exibirTelaPesquisaLogradouro/' . $msgErro);

			} else {

				$objClienteSoap = new ClienteSoap_Model();
				$arrLogradouros = $objClienteSoap->executarWebMetodo('retornarLogradouros', $arrParam);

				if ( isset($arrLogradouros[0]['strDescricaoErro']) ) {
					$arrLogradouros[0]['codlog'] = '';
					$arrLogradouros[0]['tipo_logradouro'] = '';
					$arrLogradouros[0]['nome_logradouro'] = $arrLogradouros[0]['strDescricaoErro'];
				}

				$this->template->body = new View('gridLogradouros');
				$this->template->body->arrLogradouros = $arrLogradouros;
			}

		} else {
			$this->exibirTelaLogin();
		}

	}

	public function exibirFormPesquisaImovel($codlog, $strLogradouro) {

		if ( $this->validacao->verificarUsuarioLogado() ) {

			$objClienteSoap = new ClienteSoap_Model();
			$this->template->body = new View('formPesquisaImovel');
			$this->template->body->strLogradouro = $strLogradouro;
			$this->template->body->codlog = $codlog;

		} else {
			$this->exibirTelaLogin();
		}

	}

	public function pesquisarImovel($strLogradouro) {

		if ( $this->validacao->verificarUsuarioLogado() ) {

			$objClienteSoap = new ClienteSoap_Model();
			$arrParam['codlog']		= $this->input->post('hidCodLog');
			$arrParam['numlogini']  = $this->input->post('txtNunIni');
			$arrParam['numlogfim']  = $this->input->post('txtNunFim');
			$arrImoveis = $objClienteSoap->executarWebMetodo('retornarImoveisLogradouro', $arrParam);

			if ( isset($arrImoveis[0]['strDescricaoErro']) ) {
				$arrImoveis[0]['numlog'] = '';
				$arrImoveis[0]['lote'] = '';
				$arrImoveis[0]['nomeprop'] = $arrImoveis[0]['strDescricaoErro'];
			}

			$this->template->body = new View('gridImoveis');
			$this->template->body->strLogradouro = $strLogradouro;
			$this->template->body->arrImoveis = $arrImoveis;

		} else {
			$this->exibirTelaLogin();
		}

	}

	public function detalhar($inscricao, $strLogradouro, $numlog, $complog, $id_transacao_alterar) {

		if ( $this->validacao->verificarUsuarioLogado() ) {

			$objClienteSoap = new ClienteSoap_Model();
			$arrParam['inscricao']	= $inscricao;
			$arrDados = $objClienteSoap->executarWebMetodo('retornarDadosInscricao', $arrParam);

			$this->template->body = new View('detalheDados');
			$this->template->body->strLogradouro = $strLogradouro;
			$this->template->body->numlog = $numlog;
			$this->template->body->complog = $complog;
			$this->template->body->arrDados = $arrDados[0];
			$this->template->body->inscricao = $inscricao;
			$this->template->body->id_transacao_alterar = $id_transacao_alterar;

		} else {
			$this->exibirTelaLogin();
		}

	}

	public function detalharByInscricao($inscricao, $id_transacao_alterar) {

		if ( $this->validacao->verificarUsuarioLogado() ) {
			$objClienteSoap = new ClienteSoap_Model();
			$arrParam['inscricao']	= $inscricao;
			$arrDados = $objClienteSoap->executarWebMetodo('retornarEnderecoInscricao', $arrParam);

			$strLogradouro = $arrDados[0]['nomelog'];
			$numlog		   = $arrDados[0]['numlog'];
			$complog	   = $arrDados[0]['complog'];
			$this->detalhar($inscricao, $strLogradouro, $numlog, $complog, $id_transacao_alterar);
		} else {
			$this->exibirTelaLogin();
		}
	}

	public function informarDetalhes($strLogradouro, $numlog, $complog, $inscricao, $id_transacao_alterar , $msgErro = null) {

		if ( $this->validacao->verificarUsuarioLogado() ) {

			$objClienteSoap = new ClienteSoap_Model();
			$arrParam['inscricao']	= $inscricao;
			$arrIdsDados = $objClienteSoap->executarWebMetodo('retornarIdsDadosInscricao', $arrParam);

			$model = new iptu_Model();
			$this->template->body = new View('informarDtalhes');
			$this->template->body->strLogradouro = $strLogradouro;
			$this->template->body->numlog = $numlog;
			$this->template->body->complog = $complog;
			$this->template->body->inscricao = $inscricao;
			$this->template->body->id_transacao_alterar = $id_transacao_alterar;
			$this->template->body->arrOpcoes = $model->retornarArrOpcoes();
			$this->template->body->arrDescValCampo = $model->retornarArrDescValCampo();
			$this->template->body->arrIdsDados = $arrIdsDados[0];
			$this->template->body->msgErro = $msgErro;

		} else {

			$this->exibirTelaLogin();

		}

	}

	public function informarMudancas($strLogradouro, $numlog, $complog, $inscricao, $id_transacao_alterar) {
		
		if ( $this->validacao->verificarUsuarioLogado() ) {

			if (isset ($_POST['chkInformarDetalhes'])) {
				$objClienteSoap = new ClienteSoap_Model();
				$arrParam['inscricao']	= $inscricao;
				$arrIdsDados = $objClienteSoap->executarWebMetodo('retornarIdsDadosInscricao', $arrParam);

				$model = new iptu_Model();
				$this->template->body = new View('informarMudancas');
				$this->template->body->strLogradouro = $strLogradouro;
				$this->template->body->numlog = $numlog;
				$this->template->body->complog = $complog;
				$this->template->body->inscricao = $inscricao;
				$this->template->body->id_transacao_alterar = $id_transacao_alterar;
				$this->template->body->arrIdsDados = $arrIdsDados[0];
				$this->template->body->arrDescValCampo = $model->retornarArrDescValCampo();
				$this->template->body->arrDescricao = $model->retornarArrDescricao();
			} else {
				$msgErro = 'Favor selecionar pelo menos uma das op&ccedil;&ocirc;es.';

				$strLink  = 'iptu/informarDetalhes/';
				$strLink .= urlencode($strLogradouro)			. '/';
				$strLink .= urlencode($numlog)					. '/';
				$strLink .= urlencode($complog)					. '/';
				$strLink .= urlencode($inscricao)				. '/';
				$strLink .= urlencode($id_transacao_alterar)	. '/';
				$strLink .= $msgErro;

				url::redirect($strLink);

			}
		} else {
			$this->exibirTelaLogin();
		}

	}

	public function receberInformacoes($inscricao, $id_transacao_alterar) {

		if ( $this->validacao->verificarUsuarioLogado() ) {

			$objClienteSoap = new ClienteSoap_Model();
			$arrParam['inscricao']	= $inscricao;
			$arrIdsDados = $objClienteSoap->executarWebMetodo('retornarIdsDadosInscricao', $arrParam);
			
//			echo '<pre>';
//			print_r($arrIdsDados);
//			print_r($_POST);
//			echo '</pre>';
				
			$arrIdsDados = $arrIdsDados[0];
			unset($arrParam);

			$model = new iptu_Model();
			$arrValCampo = $model->retornarArrDescValCampo();

			$matricula = Session::instance()->get('matriculaUser');

			$idTransacao = uniqid();
			foreach ( $_POST as $key => $value ) {

				$codtabBco  = $arrIdsDados[ 'id_' . str_replace('cob_', '', $key) ];
				$codtabPost = $_POST[$key];

				if ( $codtabPost != $codtabBco ) {

					$codtab   = $arrValCampo[ str_replace('cob_', '', $key) ];
					$codcampo = $value;

					$arrParam['matricula']	  = $matricula;
					$arrParam['inscricao']	  = $inscricao;
					$arrParam['codtab']	      = $codtab;
					$arrParam['codcampo']     = $codcampo;
					$arrParam['id_transacao'] = $idTransacao;

					$arrDados = $objClienteSoap->executarWebMetodo('inserirAlteracao', $arrParam);

				}

			}

			if ( isset($arrDados[0]['retorno']) and $arrDados[0]['retorno'] == 'true' ) {
				unset($arrParam);
				$arrParam['matricula']	  = $matricula;
				$arrParam['inscricao']	  = $inscricao;
				$arrParam['status']		  = 1;
				$arrParam['id_transacao'] = $id_transacao_alterar;

				$arrDados = $objClienteSoap->executarWebMetodo('alterarStatus', $arrParam );
				url::redirect('iptu/exibirInscricoesUser');
			} else {
				echo 'erro ao tentar informar alterações.';
			}


		} else {

			$this->exibirTelaLogin();

		}

	}

	public function exibirTelaConsulta() {

		if ( $this->validacao->verificarUsuarioLogado() ) {

			$objClienteSoap = new ClienteSoap_Model();
			$arrParam['codbairro']  = 0;
			$arrBairros = $objClienteSoap->executarWebMetodo('retornarBairro', $arrParam);

			$this->template->body = new View('formFiltroConsulta');
			$this->template->body->arrBairros = $arrBairros;
			$this->template->body->action = 'iptu/pesquisarLogradouros';

		} else {

			$this->exibirTelaLogin();

		}

	}
}

?>
